top_builddir = ..

include ../config.mk

CPPFLAGS = $(BASECPPFLAGS) $(RUDIMENTSCFLAGS) $(WIKITEXTCFLAGS)

.SUFFIXES: .lo

.cpp.lo:
	$(LTCOMPILE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(COMPILE) $< $(OUT)$@

.cpp.obj:
	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(COMPILE) $<

all: libwikitext.$(LIBEXT) \
	wt$(EXE) \
	wikitextformat_xhtml.$(LIBEXT) \
	wikitextformat_plaintext.$(LIBEXT) \
	wikitextmacrohandler_image.$(LIBEXT)

clean:
	$(LTCLEAN) $(RM) *.lo *.la *.o *.obj *.$(LIBEXT) *.lib *.exp *.idb *.pdb *.manifest wt$(EXE)
	$(RMTREE) .libs

libwikitext.$(LIBEXT): wikitext.cpp wikitext.$(OBJ)
	$(LTLINK) $(LINK) $(OUT)$@ wikitext.$(OBJ) $(LDFLAGS) $(LINKFLAGS) $(RUDIMENTSLIBS)

wt$(EXE): wt.cpp wt.$(OBJ)
	$(LTLINK) $(LINK) $(OUT)$@ wt.$(OBJ) $(LDFLAGS) $(WIKITEXTLIBS) $(RUDIMENTSLIBS)

wikitextformat_xhtml.$(LIBEXT): xhtml.cpp xhtml.$(OBJ)
	$(LTLINK) $(LINK) $(OUT)$@ xhtml.$(OBJ) $(LDFLAGS) $(WIKITEXTLIBS) $(RUDIMENTSLIBS) $(MODLINKFLAGS)

wikitextformat_plaintext.$(LIBEXT): plaintext.cpp plaintext.$(OBJ)
	$(LTLINK) $(LINK) $(OUT)$@ plaintext.$(OBJ) $(LDFLAGS) $(WIKITEXTLIBS) $(RUDIMENTSLIBS) $(MODLINKFLAGS)

wikitextmacrohandler_image.$(LIBEXT): image.cpp image.$(OBJ)
	$(LTLINK) $(LINK) $(OUT)$@ image.$(OBJ) $(LDFLAGS) $(WIKITEXTLIBS) $(RUDIMENTSLIBS) $(MODLINKFLAGS)

install: $(INSTALLLIB)
	$(MKINSTALLDIRS) $(libexecdir)
	$(MKINSTALLDIRS) $(bindir)
	$(LTINSTALL) $(CP) wt$(EXE) $(bindir)
	$(MKINSTALLDIRS) $(datadir)/wikitext
	$(LTINSTALL) $(CP) wikitext.xml $(datadir)/wikitext
	$(LTINSTALL) $(CP) xhtml.xml $(datadir)/wikitext
	$(LTINSTALL) $(CP) plaintext.xml $(datadir)/wikitext
	$(MKINSTALLDIRS) $(includedir)/wikitext
	$(MKINSTALLDIRS) $(includedir)/wikitext/private
	$(CP) wikitext/wikitext.h $(includedir)/wikitext
	$(CP) wikitext/private/dll.h $(includedir)/wikitext/private
	$(CP) wikitext/private/wikitext.h $(includedir)/wikitext/private
	$(CP) wikitext/private/wikitextincludes.h $(includedir)/wikitext/private

installdll:
	$(MKINSTALLDIRS) $(bindir)
	$(LTINSTALL) $(CP) libwikitext.$(LIBEXT) $(bindir)
	$(MKINSTALLDIRS) $(libdir)
	$(LTINSTALL) $(CP) libwikitext.lib $(libdir)
	$(MKINSTALLDIRS) $(libexecdir)
	$(LTINSTALL) $(CP) wikitextformat_xhtml.$(LIBEXT) $(libexecdir)
	$(LTINSTALL) $(CP) wikitextformat_plaintext.$(LIBEXT) $(libexecdir)
	$(LTINSTALL) $(CP) wikitextmacrohandler_image.$(LIBEXT) $(libexecdir)

installlib:
	$(MKINSTALLDIRS) $(libdir)
	$(LTINSTALL) $(CP) libwikitext.$(LIBEXT) $(libdir)
	$(LTFINISH) $(libdir)
	$(MKINSTALLDIRS) $(libexecdir)
	$(LTINSTALL) $(CP) wikitextformat_xhtml.$(LIBEXT) $(libexecdir)
	$(RM) $(libexecdir)/wikitextformat_xhtml.a
	$(RM) $(libexecdir)/wikitextformat_xhtml.$(LIBEXT)
	$(MODULERENAME) $(libexecdir)/wikitextformat_xhtml.so so $(MODULESUFFIX)
	$(LTINSTALL) $(CP) wikitextformat_plaintext.$(LIBEXT) $(libexecdir)
	$(RM) $(libexecdir)/wikitextformat_plaintext.a
	$(RM) $(libexecdir)/wikitextformat_plaintext.$(LIBEXT)
	$(MODULERENAME) $(libexecdir)/wikitextformat_plaintext.so so $(MODULESUFFIX)
	$(LTINSTALL) $(CP) wikitextmacrohandler_image.$(LIBEXT) $(libexecdir)
	$(RM) $(libexecdir)/wikitextmacrohandler_image.a
	$(RM) $(libexecdir)/wikitextmacrohandler_image.$(LIBEXT)
	$(MODULERENAME) $(libexecdir)/wikitextmacrohandler_image.so so $(MODULESUFFIX)

uninstall: $(UNINSTALLLIB)
	$(RMTREE) $(includedir)/wikitext
	$(LTUNINSTALL) $(RM) $(libdir)/libwikitext.$(LIBEXT)
	$(LTUNINSTALL) $(RM) $(bindir)/wt$(EXE)
	$(LTUNINSTALL) $(RM) $(bindir)/wikitext
	$(RMTREE) $(datadir)/wikitext
	$(RMTREE) $(libexecdir)

uninstalldll:
	$(LTUNINSTALL) $(RM) $(bindir)/libwikitext.$(LIBEXT) \
					$(libdir)/libwikitext.lib

uninstalllib:
	$(LTUNINSTALL) $(RM) $(libdir)/libwikitext.$(LIBEXT)
